import axios from 'axios';
const api_dev = 'http://110.40.234.135:4005';
const api_pre = 'http://192.168.5.104:4005'; // 4000  4001 4002 4003 
const api_pre_1 = '/api'; // 4000  4001 4002 4003 
// 每次请求的时候 基础配置  包含基础地址
// 返回配置好的axios实例
export const httpProvider = axios.create({
  // process : node的变量 如果是开发环境 '/api' 生产环境 apiV1+'/api/v1'
  baseURL: api_pre_1, // 接口和路由 有没有可能冲突 404 的问题
  // baseURL:process.env.NODE_ENV === 'production'? apiV1+'/api/v1':'/api',
  timeout:6000
});

// 拦截 : 请求拦截
httpProvider.interceptors.request.use(
  (config:any)=>{
    const token = window.localStorage.getItem('token');
    if(token){
      config.headers.Authorization = `Bearer ${token}`;
    }
    return config;
  },
  ()=>{
    throw new Error('发起请求出错');
  }
);

// 响应拦截
httpProvider.interceptors.response.use(
  (data)=>{
    // data.data
    return data.data;
  },
  (err)=>{
    if(err&&err.response&&err.response.status){
      const status = err.response.status;
      // switch(status){
      // case 504:
      // case 500:
      // case 404:
      //   message.error('服务器异常');
      //   break;
      // case 401:
      //   message.error('未授权');
      //   break;
      // case 403:
      //   message.error('无权访问');
      //   break;
      // case 422:
      //   message.error('参数出错');
      //   break;
      // case 400: // 请求出错
      //   message.error('未授权');
      //   break;
      // default:
      // message.error('未知错误');
      // }

    }
  }
);

// axios.get('http://localhost:3000').then(res=>{})